WXME0108 ## 
#|
   This file is in PLT Scheme editor format.
   Most likely, it was created by saving a program in DrScheme,
   and it probably contains a program with non-text elements (such
   as pictures, comment boxes, or test-cases boxes).
   Open this file in DrScheme to read its content.
                 www.plt-scheme.org
|#
 31 7 #"wxtext\0"
3 1 6 #"wxtab\0"
1 1 8 #"wxmedia\0"
3 1 8 #"wximage\0"
2 0 34 #"(lib \"syntax-browser.ss\" \"mrlib\")\0"
1 0 16 #"drscheme:number\0"
3 0 44 #"(lib \"number-snip.ss\" \"drscheme\" \"private\")\0"
1 0 36 #"(lib \"comment-snip.ss\" \"framework\")\0"
1 0 43 #"(lib \"collapsed-snipclass.ss\" \"framework\")\0"
0 0 19 #"drscheme:sexp-snip\0"
0 0 33 #"(lib \"bullet-snip.ss\" \"browser\")\0"
0 0 29 #"drscheme:bindings-snipclass%\0"
1 0 36 #"(lib \"cache-image-snip.ss\" \"mrlib\")\0"
1 0 22 #"drscheme:lambda-snip%\0"
1 0 60
(
 #"(lib \"implementation.ss\" \"macro-debugger\" \"syntax-br"
 #"owser\")\0"
) 2 0 18 #"java-comment-box%\0"
1 0 23 #"java-interactions-box%\0"
1 0 15 #"make-line-snip\0"
1 0 15 #"make-line-snip\0"
1 0 13 #"example-box%\0"
2 0 18 #"interactions-box%\0"
2 0 45 #"(lib \"image-snipr.ss\" \"slideshow\" \"private\")\0"
1 0 26 #"drscheme:pict-value-snip%\0"
0 0 38 #"(lib \"pict-snipclass.ss\" \"slideshow\")\0"
2 0 55
(
 #"(lib \"vertical-separator-snip.ss\" \"stepper\" \"private"
 #"\")\0"
) 1 0 18 #"drscheme:xml-snip\0"
1 0 31 #"(lib \"xml-snipclass.ss\" \"xml\")\0"
1 0 21 #"drscheme:scheme-snip\0"
2 0 34 #"(lib \"scheme-snipclass.ss\" \"xml\")\0"
1 0 15 #"test-case-box%\0"
2 0 10 #"text-box%\0"
1 0 1 6 #"wxloc\0"
00000000000 1 52 0 1 #"\0"
0 75 1 #"\0"
0 12 90 -1 90 -1 3 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 1 -1 0 9
#"Standard\0"
0 75 12 #"Courier New\0"
0 16 90 -1 90 -1 3 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 1 -1 2 1
#"\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 -1 -1 2 24
#"framework:default-color\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1
#"\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 27
#"Matching Parenthesis Style\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 1
#"\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 40
#"framework:syntax-coloring:scheme:symbol\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 41
#"framework:syntax-coloring:scheme:keyword\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 1
#"\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 150 54 5 0 0 0 -1 -1 2 41
#"framework:syntax-coloring:scheme:comment\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 150 54 5 0 0 0 -1 -1 2 1
#"\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 40
#"framework:syntax-coloring:scheme:string\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 42
#"framework:syntax-coloring:scheme:constant\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 1
#"\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 132 60 36 0 0 0 -1 -1 2 45
#"framework:syntax-coloring:scheme:parenthesis\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 132 60 36 0 0 0 -1 -1 2 1
#"\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 39
#"framework:syntax-coloring:scheme:error\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 1
#"\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 39
#"framework:syntax-coloring:scheme:other\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 14
#"Html Standard\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 -1 -1 2 1
#"\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 81 112 203 0 0 0 -1 -1 2
49 #"drscheme:check-syntax:lexically-bound-identifier\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 81 112 203 0 0 0 -1 -1 2 1
#"\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 68 0 203 0 0 0 -1 -1 2 42
#"drscheme:check-syntax:imported-identifier\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 68 0 203 0 0 0 -1 -1 2 37
#"profj:syntax-coloring:scheme:keyword\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1
#"\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 139 0 139 0 0 0 -1 -1 2 39
#"profj:syntax-coloring:scheme:prim-type\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 139 0 139 0 0 0 -1 -1 2 40
#"profj:syntax-coloring:scheme:identifier\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 36
#"profj:syntax-coloring:scheme:string\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 37
#"profj:syntax-coloring:scheme:literal\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 1
#"\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2
37 #"profj:syntax-coloring:scheme:comment\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2
35 #"profj:syntax-coloring:scheme:error\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 37
#"profj:syntax-coloring:scheme:default\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 39
#"profj:syntax-coloring:scheme:uncovered\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 37
#"profj:syntax-coloring:scheme:covered\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 139 0 139 0 0 0 -1 -1 2 1
#"\0"
0 70 1 #"\0"
1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 -1 -1 2 4
#"XML\0"
0 70 1 #"\0"
1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 -1 -1 2 1
#"\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 150 0 150 0 0 0 -1 -1 2 1
#"\0"
0 -1 1 #"\0"
1 0 -1 -1 93 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 1
#"\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 175 0 0 0 -1 -1 4 1
#"\0"
0 71 1 #"\0"
1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 -1 -1 4 1
#"\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 255 0 0 0 -1 -1 4 1
#"\0"
0 71 1 #"\0"
1 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 255 0 0 0 -1 -1 4 1
#"\0"
0 71 1 #"\0"
1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 100 0 0 0 0 -1 -1 4 1
#"\0"
0 75 1 #"\0"
1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 100 0 0 0 0 -1 -1 0 1
#"\0"
0 75 12 #"Courier New\0"
0 16 90 -1 90 -1 3 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 1 -1 2 1
#"\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 0 1
#"\0"
0 -1 1 #"\0"
1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 200 0 0 0 0 0 -1 -1 4 1
#"\0"
0 -1 1 #"\0"
1 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 255 255 0 -1 -1
00000000002 0 00000000000 7 00000000000 716 0 11 3 11 #";;; lang3-2"
0 0 4 29 1 #"\n"
0 0 4 29 1 #"\n"
0 0 16 3 1 #"("
0 0 9 3 6 #"module"
0 0 4 3 1 #" "
0 0 8 3 4 #"lang"
0 0 4 29 1 #"\n"
0 0 4 3 2 #"  "
0 0 16 3 1 #"("
0 0 8 3 3 #"lib"
0 0 4 3 1 #" "
0 0 13 3 9 #"\"eopl.ss\""
0 0 4 3 1 #" "
0 0 13 3 6 #"\"eopl\""
0 0 16 3 1 #")"
0 0 4 3 16 #"                "
0 0 4 29 1 #"\n"
0 0 4 3 2 #"  "
0 0 4 29 1 #"\n"
0 0 4 3 2 #"  "
0 0 16 3 1 #"("
0 0 8 3 7 #"require"
0 0 4 3 1 #" "
0 0 13 3 19 #"\"drscheme-init.scm\""
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 2 #"  "
0 0 4 29 1 #"\n"
0 0 4 3 2 #"  "
0 0 16 3 1 #"("
0 0 8 3 7 #"provide"
0 0 4 3 1 #" "
0 0 16 3 1 #"("
0 0 8 3 11 #"all-defined"
0 0 16 3 2 #"))"
0 0 4 29 1 #"\n"
0 0 4 29 1 #"\n"
0 0 4 3 2 #"  "
0 0 11 3 59
#";;;;;;;;;;;;;;;; grammatical specification ;;;;;;;;;;;;;;;;"
0 0 4 29 1 #"\n"
0 0 4 3 2 #"  "
0 0 4 29 1 #"\n"
0 0 4 3 2 #"  "
0 0 16 3 1 #"("
0 0 9 3 6 #"define"
0 0 4 3 1 #" "
0 0 8 3 16 #"the-lexical-spec"
0 0 4 29 1 #"\n"
0 0 4 3 4 #"    "
0 0 14 3 1 #"'"
0 0 16 3 2 #"(("
0 0 8 3 10 #"whitespace"
0 0 4 3 1 #" "
0 0 16 3 1 #"("
0 0 8 3 10 #"whitespace"
0 0 16 3 1 #")"
0 0 4 3 1 #" "
0 0 8 3 4 #"skip"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 7 #"comment"
0 0 4 3 1 #" "
0 0 16 3 1 #"("
0 0 13 3 3 #"\"%\""
0 0 4 3 1 #" "
0 0 16 3 1 #"("
0 0 8 3 5 #"arbno"
0 0 4 3 1 #" "
0 0 16 3 1 #"("
0 0 8 3 3 #"not"
0 0 4 3 1 #" "
0 0 14 3 9 #"#\\newline"
0 0 16 3 3 #")))"
0 0 4 3 1 #" "
0 0 8 3 4 #"skip"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 10 #"identifier"
0 0 4 29 1 #"\n"
0 0 4 3 7 #"       "
0 0 16 3 1 #"("
0 0 8 3 6 #"letter"
0 0 4 3 1 #" "
0 0 16 3 1 #"("
0 0 8 3 5 #"arbno"
0 0 4 3 1 #" "
0 0 16 3 1 #"("
0 0 8 3 2 #"or"
0 0 4 3 1 #" "
0 0 8 3 6 #"letter"
0 0 4 3 1 #" "
0 0 8 3 5 #"digit"
0 0 4 3 1 #" "
0 0 13 3 3 #"\"_\""
0 0 4 3 1 #" "
0 0 13 3 3 #"\"-\""
0 0 4 3 1 #" "
0 0 13 3 3 #"\"?\""
0 0 16 3 3 #")))"
0 0 4 29 1 #"\n"
0 0 4 3 7 #"       "
0 0 8 3 6 #"symbol"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 6 #"number"
0 0 4 3 1 #" "
0 0 16 3 1 #"("
0 0 8 3 5 #"digit"
0 0 4 3 1 #" "
0 0 16 3 1 #"("
0 0 8 3 5 #"arbno"
0 0 4 3 1 #" "
0 0 8 3 5 #"digit"
0 0 16 3 2 #"))"
0 0 4 3 1 #" "
0 0 8 3 6 #"number"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 6 #"number"
0 0 4 3 1 #" "
0 0 16 3 1 #"("
0 0 13 3 3 #"\"-\""
0 0 4 3 1 #" "
0 0 8 3 5 #"digit"
0 0 4 3 1 #" "
0 0 16 3 1 #"("
0 0 8 3 5 #"arbno"
0 0 4 3 1 #" "
0 0 8 3 5 #"digit"
0 0 16 3 2 #"))"
0 0 4 3 1 #" "
0 0 8 3 6 #"number"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 2 #"))"
0 0 4 29 1 #"\n"
0 0 4 3 2 #"  "
0 0 4 29 1 #"\n"
0 0 4 3 2 #"  "
0 0 16 3 1 #"("
0 0 9 3 6 #"define"
0 0 4 3 1 #" "
0 0 8 3 11 #"the-grammar"
0 0 4 29 1 #"\n"
0 0 4 3 4 #"    "
0 0 14 3 1 #"'"
0 0 16 3 2 #"(("
0 0 8 3 7 #"program"
0 0 4 3 1 #" "
0 0 16 3 1 #"("
0 0 8 3 10 #"expression"
0 0 16 3 1 #")"
0 0 4 3 1 #" "
0 0 8 3 9 #"a-program"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 10 #"expression"
0 0 4 3 1 #" "
0 0 16 3 1 #"("
0 0 8 3 6 #"number"
0 0 16 3 1 #")"
0 0 4 3 1 #" "
0 0 8 3 9 #"const-exp"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 10 #"expression"
0 0 4 29 1 #"\n"
0 0 4 3 8 #"        "
0 0 16 3 1 #"("
0 0 13 3 3 #"\"-\""
0 0 4 3 1 #" "
0 0 13 3 3 #"\"(\""
0 0 4 3 1 #" "
0 0 8 3 10 #"expression"
0 0 4 3 1 #" "
0 0 13 3 3 #"\",\""
0 0 4 3 1 #" "
0 0 8 3 10 #"expression"
0 0 4 3 1 #" "
0 0 13 3 3 #"\")\""
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 8 #"        "
0 0 8 3 8 #"diff-exp"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 10 #"expression"
0 0 4 29 1 #"\n"
0 0 4 3 7 #"       "
0 0 16 3 1 #"("
0 0 13 3 7 #"\"zero?\""
0 0 4 3 1 #" "
0 0 13 3 3 #"\"(\""
0 0 4 3 1 #" "
0 0 8 3 10 #"expression"
0 0 4 3 1 #" "
0 0 13 3 3 #"\")\""
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 7 #"       "
0 0 8 3 9 #"zero?-exp"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 10 #"expression"
0 0 4 29 1 #"\n"
0 0 4 3 7 #"       "
0 0 16 3 1 #"("
0 0 13 3 4 #"\"if\""
0 0 4 3 1 #" "
0 0 8 3 10 #"expression"
0 0 4 3 1 #" "
0 0 13 3 6 #"\"then\""
0 0 4 3 1 #" "
0 0 8 3 10 #"expression"
0 0 4 3 1 #" "
0 0 13 3 6 #"\"else\""
0 0 4 3 1 #" "
0 0 8 3 10 #"expression"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 7 #"       "
0 0 8 3 6 #"if-exp"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 10 #"expression"
0 0 4 3 1 #" "
0 0 16 3 1 #"("
0 0 8 3 10 #"identifier"
0 0 16 3 1 #")"
0 0 4 3 1 #" "
0 0 8 3 7 #"var-exp"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 10 #"expression"
0 0 4 29 1 #"\n"
0 0 4 3 7 #"       "
0 0 16 3 1 #"("
0 0 13 3 5 #"\"let\""
0 0 4 3 1 #" "
0 0 8 3 10 #"identifier"
0 0 4 3 1 #" "
0 0 13 3 3 #"\"=\""
0 0 4 3 1 #" "
0 0 8 3 10 #"expression"
0 0 4 3 1 #" "
0 0 13 3 4 #"\"in\""
0 0 4 3 1 #" "
0 0 8 3 10 #"expression"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 7 #"       "
0 0 8 3 7 #"let-exp"
0 0 16 3 1 #")"
0 0 4 3 3 #"   "
0 0 4 29 1 #"\n"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 10 #"expression"
0 0 4 29 1 #"\n"
0 0 4 3 7 #"       "
0 0 16 3 1 #"("
0 0 13 3 6 #"\"proc\""
0 0 4 3 1 #" "
0 0 13 3 3 #"\"(\""
0 0 4 3 1 #" "
0 0 8 3 10 #"identifier"
0 0 4 3 1 #" "
0 0 13 3 3 #"\")\""
0 0 4 3 1 #" "
0 0 8 3 10 #"expression"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 7 #"       "
0 0 8 3 8 #"proc-exp"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 10 #"expression"
0 0 4 29 1 #"\n"
0 0 4 3 7 #"       "
0 0 16 3 1 #"("
0 0 13 3 3 #"\"(\""
0 0 4 3 1 #" "
0 0 8 3 10 #"expression"
0 0 4 3 1 #" "
0 0 8 3 10 #"expression"
0 0 4 3 1 #" "
0 0 13 3 3 #"\")\""
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 7 #"       "
0 0 8 3 7 #"app-exp"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 10 #"expression"
0 0 4 29 1 #"\n"
0 0 4 3 7 #"       "
0 0 16 3 1 #"("
0 0 13 3 8 #"\"letrec\""
0 0 4 3 1 #" "
0 0 8 3 10 #"identifier"
0 0 4 3 1 #" "
0 0 13 3 3 #"\"(\""
0 0 4 3 1 #" "
0 0 8 3 10 #"identifier"
0 0 4 3 1 #" "
0 0 13 3 3 #"\")\""
0 0 4 3 1 #" "
0 0 13 3 3 #"\"=\""
0 0 4 3 1 #" "
0 0 8 3 10 #"expression"
0 0 4 3 1 #" "
0 0 13 3 4 #"\"in\""
0 0 4 3 1 #" "
0 0 8 3 10 #"expression"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 7 #"       "
0 0 8 3 10 #"letrec-exp"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 10 #"expression"
0 0 4 29 1 #"\n"
0 0 4 3 7 #"       "
0 0 16 3 1 #"("
0 0 13 3 6 #"\"pair\""
0 0 4 3 1 #" "
0 0 13 3 3 #"\"(\""
0 0 4 3 1 #" "
0 0 8 3 10 #"expression"
0 0 4 3 1 #" "
0 0 13 3 3 #"\",\""
0 0 4 3 1 #" "
0 0 8 3 10 #"expression"
0 0 4 3 1 #" "
0 0 13 3 3 #"\")\""
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 7 #"       "
0 0 8 3 8 #"pair-exp"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 10 #"expression"
0 0 4 29 1 #"\n"
0 0 4 3 7 #"       "
0 0 16 3 1 #"("
0 0 13 3 8 #"\"unpair\""
0 0 4 3 1 #" "
0 0 8 3 10 #"expression"
0 0 4 3 1 #" "
0 0 13 3 4 #"\"as\""
0 0 4 3 1 #" "
0 0 13 3 3 #"\"(\""
0 0 4 3 1 #" "
0 0 8 3 10 #"identifier"
0 0 4 3 1 #" "
0 0 13 3 3 #"\",\""
0 0 4 3 1 #" "
0 0 8 3 10 #"identifier"
0 0 4 3 1 #" "
0 0 13 3 3 #"\")\""
0 0 4 3 1 #" "
0 0 13 3 4 #"\"in\""
0 0 4 3 1 #" "
0 0 8 3 10 #"expression"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 7 #"       "
0 0 8 3 10 #"unpair-exp"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 11 3 56 #";; should these be folded in, or shall we use a separate"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 11 3 42 #";; datatype for the intermediate language?"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 10 #"expression"
0 0 4 3 6 #"      "
0 0 4 29 1 #"\n"
0 0 4 3 7 #"       "
0 0 16 3 1 #"("
0 0 13 3 9 #"\"%unpair\""
0 0 4 3 1 #" "
0 0 8 3 10 #"expression"
0 0 4 3 1 #" "
0 0 13 3 4 #"\"in\""
0 0 4 3 1 #" "
0 0 8 3 6 #"expres"
0 0 8 3 4 #"sion"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 7 #"       "
0 0 8 3 19 #"nameless-unpair-exp"
0 0 16 3 1 #")"
0 0 13 29 1 #"\n"
0 0 13 29 1 #"\n"
0 0 13 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 10 #"expression"
0 0 13 3 1 #" "
0 0 16 3 1 #"("
0 0 13 3 8 #"\"%lexref"
0 0 13 3 2 #"\" "
0 0 8 3 6 #"number"
0 0 16 3 1 #")"
0 0 13 3 1 #" "
0 0 8 3 10 #"lexref-exp"
0 0 16 3 1 #")"
0 0 13 29 1 #"\n"
0 0 13 3 6 #"      "
0 0 13 29 1 #"\n"
0 0 13 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 10 #"expression"
0 0 13 29 1 #"\n"
0 0 13 3 8 #"        "
0 0 16 3 1 #"("
0 0 13 3 5 #"\"%let"
0 0 13 3 2 #"\" "
0 0 8 3 10 #"expression"
0 0 13 3 1 #" "
0 0 13 3 5 #"\"in\" "
0 0 8 3 10 #"expression"
0 0 16 3 1 #")"
0 0 13 29 1 #"\n"
0 0 13 3 8 #"        "
0 0 8 3 16 #"nameless-let-exp"
0 0 16 3 1 #")"
0 0 13 29 1 #"\n"
0 0 13 3 6 #"      "
0 0 13 29 1 #"\n"
0 0 13 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 10 #"expression"
0 0 13 29 1 #"\n"
0 0 13 3 7 #"       "
0 0 16 3 1 #"("
0 0 13 3 8 #"\"%letrec"
0 0 13 3 2 #"\" "
0 0 8 3 10 #"expression"
0 0 13 3 1 #" "
0 0 13 3 3 #"\"in"
0 0 13 3 2 #"\" "
0 0 8 3 10 #"expression"
0 0 16 3 1 #")"
0 0 13 29 1 #"\n"
0 0 13 3 7 #"       "
0 0 8 3 19 #"nameless-letrec-exp"
0 0 16 3 1 #")"
0 0 13 29 1 #"\n"
0 0 13 3 6 #"      "
0 0 13 29 1 #"\n"
0 0 13 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 10 #"expression"
0 0 13 29 1 #"\n"
0 0 13 3 8 #"        "
0 0 16 3 1 #"("
0 0 13 3 1 #"\""
0 0 13 3 9 #"%lexproc\""
0 0 18 3 1 #" "
0 0 8 3 10 #"expression"
0 0 16 3 1 #")"
0 0 18 29 1 #"\n"
0 0 18 3 8 #"        "
0 0 8 3 17 #"nameless-proc-exp"
0 0 16 3 1 #")"
0 0 18 29 1 #"\n"
0 0 18 3 6 #"      "
0 0 18 29 1 #"\n"
0 7 00000000115 4 00000000000 1 00000000000 18 0 2 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 10 #"expression"
0 0 2 29 1 #"\n"
0 0 2 3 7 #"       "
0 0 16 3 1 #"("
0 0 13 3 5 #"\"%if\""
0 0 2 3 1 #" "
0 0 8 3 10 #"expression"
0 0 2 3 2 #"  "
0 0 8 3 10 #"expression"
0 0 2 3 2 #"  "
0 0 8 3 10 #"expression"
0 0 16 3 1 #")"
0 0 2 29 1 #"\n"
0 0 2 3 7 #"       "
0 0 8 3 15 #"nameless-if-exp"
0 0 16 3 1 #")"
0 00000000000 0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 2 #"))"
0 0 4 29 1 #"\n"
0 0 4 3 2 #"  "
0 0 4 29 1 #"\n"
0 0 4 3 2 #"  "
0 0 16 3 1 #"("
0 0 9 3 6 #"define"
0 0 4 3 1 #" "
0 0 8 3 15 #"the-field-names"
0 0 4 29 1 #"\n"
0 0 4 3 4 #"    "
0 0 14 3 1 #"'"
0 0 16 3 2 #"(("
0 0 8 3 9 #"a-program"
0 0 4 3 1 #" "
0 0 8 3 3 #"exp"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 9 #"const-exp"
0 0 4 3 1 #" "
0 0 8 3 1 #"n"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 9 #"zero?-exp"
0 0 4 3 1 #" "
0 0 8 3 2 #"e1"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 6 #"if-exp"
0 0 4 3 1 #" "
0 0 8 3 2 #"e0"
0 0 4 3 1 #" "
0 0 8 3 2 #"e1"
0 0 4 3 1 #" "
0 0 8 3 2 #"e2"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 8 #"diff-exp"
0 0 4 3 1 #" "
0 0 8 3 2 #"e1"
0 0 4 3 1 #" "
0 0 8 3 2 #"e2"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 7 #"var-exp"
0 0 4 3 1 #" "
0 0 8 3 2 #"id"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 7 #"let-exp"
0 0 4 3 1 #" "
0 0 8 3 4 #"bvar"
0 0 4 3 1 #" "
0 0 8 3 3 #"rhs"
0 0 4 3 1 #" "
0 0 8 3 4 #"body"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 8 #"proc-exp"
0 0 4 3 1 #" "
0 0 8 3 4 #"bvar"
0 0 4 3 1 #" "
0 0 8 3 4 #"body"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 7 #"app-exp"
0 0 4 3 1 #" "
0 0 8 3 5 #"rator"
0 0 4 3 1 #" "
0 0 8 3 4 #"rand"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 10 #"lexref-exp"
0 0 4 3 1 #" "
0 0 8 3 5 #"depth"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 16 #"nameless-let-exp"
0 0 4 3 1 #" "
0 0 8 3 3 #"rhs"
0 0 4 3 1 #" "
0 0 8 3 4 #"body"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 1 #"("
0 0 8 3 17 #"nameless-proc-exp"
0 0 4 3 1 #" "
0 0 8 3 4 #"body"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 6 #"      "
0 0 16 3 2 #"))"
0 0 4 29 1 #"\n"
0 0 4 3 2 #"  "
0 0 4 29 1 #"\n"
0 0 4 29 1 #"\n"
0 0 4 29 1 #"\n"
0 0 4 29 1 #"\n"
0 0 4 3 2 #"  "
0 0 11 3 52 #";;;;;;;;;;;;;;;; sllgen boilerplate ;;;;;;;;;;;;;;;;"
0 0 4 29 1 #"\n"
0 0 4 3 2 #"  "
0 0 4 29 1 #"\n"
0 0 4 3 2 #"  "
0 0 16 3 1 #"("
0 0 8 3 28 #"sllgen:make-define-datatypes"
0 0 4 3 1 #" "
0 0 8 3 16 #"the-lexical-spec"
0 0 4 3 1 #" "
0 0 8 3 11 #"the-grammar"
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 0 4 3 2 #"  "
0 0 4 29 1 #"\n"
0 0 4 3 2 #"  "
0 0 16 3 1 #"("
0 0 9 3 6 #"define"
0 0 4 3 1 #" "
0 0 8 3 18 #"show-the-datatypes"
0 0 4 29 1 #"\n"
0 0 4 3 4 #"    "
0 0 16 3 1 #"("
0 0 9 3 6 #"lambda"
0 0 4 3 1 #" "
0 0 16 3 2 #"()"
0 0 4 3 1 #" "
0 0 16 3 1 #"("
0 0 8 3 28 #"sllgen:list-define-datatypes"
0 0 4 3 1 #" "
0 0 8 3 16 #"the-lexical-spec"
0 0 4 3 1 #" "
0 0 8 3 11 #"the-grammar"
0 0 16 3 3 #")))"
0 0 4 29 1 #"\n"
0 0 4 3 2 #"  "
0 0 4 29 1 #"\n"
0 0 4 3 2 #"  "
0 0 16 3 1 #"("
0 0 9 3 6 #"define"
0 0 4 3 1 #" "
0 0 8 3 10 #"scan&parse"
0 0 4 29 1 #"\n"
0 0 4 3 4 #"    "
0 0 16 3 1 #"("
0 0 8 3 25 #"sllgen:make-string-parser"
0 0 4 3 1 #" "
0 0 8 3 16 #"the-lexical-spec"
0 0 4 3 1 #" "
0 0 8 3 11 #"the-grammar"
0 0 16 3 2 #"))"
0 0 4 29 1 #"\n"
0 0 4 3 2 #"  "
0 0 4 29 1 #"\n"
0 0 4 3 2 #"  "
0 0 16 3 1 #"("
0 0 9 3 6 #"define"
0 0 4 3 1 #" "
0 0 8 3 9 #"just-scan"
0 0 4 29 1 #"\n"
0 0 4 3 4 #"    "
0 0 16 3 1 #"("
0 0 8 3 26 #"sllgen:make-string-scanner"
0 0 4 3 1 #" "
0 0 8 3 16 #"the-lexical-spec"
0 0 4 3 1 #" "
0 0 8 3 11 #"the-grammar"
0 0 16 3 2 #"))"
0 0 4 29 1 #"\n"
0 0 4 3 2 #"  "
0 0 4 29 1 #"\n"
0 0 4 3 2 #"  "
0 0 16 3 1 #")"
0 0 4 29 1 #"\n"
0 00000000000
